package com.yituo.mjworld.mvc.entity.other;

import javax.persistence.*;
import java.sql.Timestamp;

/**
 * 用户提现请求表
 */
@Entity
@Table(name = "brokerage_request", schema = "web_mojianworld_server", catalog = "")
public class BrokerageRequest {
  private String recordId;
  private String requestUserId;
  private String processUserId;
  private int processStatus;
  private String statusDesc;
  private Timestamp createDate;
  private Timestamp processNote;
  private Timestamp updateDate;

  @Id
  @Column(name = "recordId", nullable = false, length = 36)
  public String getRecordId() {
    return recordId;
  }

  public void setRecordId(String recordId) {
    this.recordId = recordId;
  }

  @Basic
  @Column(name = "requestUserId", nullable = false, length = 36)
  public String getRequestUserId() {
    return requestUserId;
  }

  public void setRequestUserId(String requestUserId) {
    this.requestUserId = requestUserId;
  }

  @Basic
  @Column(name = "processUserId", nullable = false, length = 36)
  public String getProcessUserId() {
    return processUserId;
  }

  public void setProcessUserId(String processUserId) {
    this.processUserId = processUserId;
  }

  @Basic
  @Column(name = "processStatus", nullable = false)
  public int getProcessStatus() {
    return processStatus;
  }

  public void setProcessStatus(int processStatus) {
    this.processStatus = processStatus;
  }

  @Basic
  @Column(name = "statusDesc", nullable = false, length = 36)
  public String getStatusDesc() {
    return statusDesc;
  }

  public void setStatusDesc(String statusDesc) {
    this.statusDesc = statusDesc;
  }

  @Basic
  @Column(name = "createDate", nullable = false)
  public Timestamp getCreateDate() {
    return createDate;
  }

  public void setCreateDate(Timestamp createDate) {
    this.createDate = createDate;
  }

  @Basic
  @Column(name = "processNote", nullable = false)
  public Timestamp getProcessNote() {
    return processNote;
  }

  public void setProcessNote(Timestamp processNote) {
    this.processNote = processNote;
  }

  @Basic
  @Column(name = "updateDate", nullable = false)
  public Timestamp getUpdateDate() {
    return updateDate;
  }

  public void setUpdateDate(Timestamp updateDate) {
    this.updateDate = updateDate;
  }

  @Override
  public boolean equals(Object o) {
    if (this == o) return true;
    if (o == null || getClass() != o.getClass()) return false;

    BrokerageRequest that = (BrokerageRequest) o;

    if (processStatus != that.processStatus) return false;
    if (recordId != null ? !recordId.equals(that.recordId) : that.recordId != null) return false;
    if (requestUserId != null ? !requestUserId.equals(that.requestUserId) : that.requestUserId != null) return false;
    if (processUserId != null ? !processUserId.equals(that.processUserId) : that.processUserId != null) return false;
    if (statusDesc != null ? !statusDesc.equals(that.statusDesc) : that.statusDesc != null) return false;
    if (createDate != null ? !createDate.equals(that.createDate) : that.createDate != null) return false;
    if (processNote != null ? !processNote.equals(that.processNote) : that.processNote != null) return false;
    if (updateDate != null ? !updateDate.equals(that.updateDate) : that.updateDate != null) return false;

    return true;
  }

  @Override
  public int hashCode() {
    int result = recordId != null ? recordId.hashCode() : 0;
    result = 31 * result + (requestUserId != null ? requestUserId.hashCode() : 0);
    result = 31 * result + (processUserId != null ? processUserId.hashCode() : 0);
    result = 31 * result + processStatus;
    result = 31 * result + (statusDesc != null ? statusDesc.hashCode() : 0);
    result = 31 * result + (createDate != null ? createDate.hashCode() : 0);
    result = 31 * result + (processNote != null ? processNote.hashCode() : 0);
    result = 31 * result + (updateDate != null ? updateDate.hashCode() : 0);
    return result;
  }
}
